package com.suke.czx.modules.performanceconfig.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.suke.czx.common.utils.R;
import com.suke.czx.modules.performanceconfig.entity.PerformanceConfig;
import com.suke.czx.modules.performanceconfig.entity.SimulationParam;

import java.util.Map;

/**
 * 应用模块名称: 绩效参数
 * 代码描述: 绩效参数业务层接口
 * copyright: AUZAR ALL RIGHTS RESERVED
 * company: AUZAR
 *
 * @author: 颜米晨
 * @date: 2022/06/11 14:20
 */
public interface PerformanceConfigService extends IService<PerformanceConfig> {

    /**
     * 获取绩效年份及版本
     * @return 绩效年份版本map
     */
    Map<String, Object> yearVersion();

    /**
     * 保存绩效
     * @param performanceConfig 绩效参数实体
     */
    void savePerformanceConfig(PerformanceConfig performanceConfig);

    /**
     * 批量更新同一年份版本下的毛利率去除率和备注
     * @param performanceConfig 绩效参数实体
     */
    R updateMarginRemovalRateAndNote(PerformanceConfig performanceConfig);

    /**
     * 复制绩效配置参数
     * @param performanceConfig 绩效参数
     * @return VO
     */
    R copyPerformanceConfig(PerformanceConfig performanceConfig);

    /**
     * 绩效模拟计算
     * @param simulationParam 绩效计算参数实体
     * @return VO
     */
    R simulation(SimulationParam simulationParam);

}
